package com.chinaisafe.user.service;

import com.chinaisafe.user.entity.SysRoleMenu;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.chinaisafe.user.vo.request.SysRoleMenuReqVO;
import com.chinaisafe.user.vo.response.SysRoleMenuRespVO;
/**
 * SysRoleMenuService
 * Description：角色与菜单服务类
 *
 * @author xuefu.shu
 * @date 2024-07-13 17:14:06
 */
public interface SysRoleMenuService extends IService<SysRoleMenu> {
     /**
      * 根据条件获取角色与菜单分页列表
      * @param sysRoleMenuReqVO 筛选参数
      * @return Page<SysRoleMenuRespVO> 分页对象
      * @author xuefu.shu
      * @date  2024-07-13 17:14:06
      */
     IPage<SysRoleMenuRespVO> getPageList(SysRoleMenuReqVO sysRoleMenuReqVO);

     /**
      * 新增角色与菜单
      * @param sysRoleMenuReqVO 新增参数
      * @return SysRoleMenuRespVO 响应参数
      * @author xuefu.shu
      * @date 2024-07-13 17:14:06
      */
      SysRoleMenuRespVO add(SysRoleMenuReqVO sysRoleMenuReqVO);

     /**
      * 根据id编辑角色与菜单
      * @param sysRoleMenuReqVO 修改参数
      * @return SysRoleMenuRespVO 响应参数
      * @author xuefu.shu
      * @date 2024-07-13 17:14:06
      */
      SysRoleMenuRespVO update(SysRoleMenuReqVO sysRoleMenuReqVO);

     /**
      * 新增或修改角色与菜单
      * @param sysRoleMenuReqVO 编辑修改参数
      * @return SysRoleMenuRespVO 响应参数
      * @author xuefu.shu
      * @date 2024-07-13 17:14:06
      */
      SysRoleMenuRespVO addOrUpdate(SysRoleMenuReqVO sysRoleMenuReqVO);

     /**
      *  根据id获取角色与菜单详情信息
      * @param sysRoleMenuId 数据id
      * @return SysRoleMenuRespVO 响应参数
      * @author xuefu.shu
      * @date 2024-07-13 17:14:06
      */
      SysRoleMenuRespVO getDetailById(Long sysRoleMenuId);

     /**
      * 根据id删除角色与菜单
      * @param sysRoleMenuIds id数组
      * @author xuefu.shu
      * @date 2024-07-13 17:14:06
      */
     void deleteByIds(Long[] sysRoleMenuIds);
}
